<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-autoconf" role="wrap">
  <?dbhtml filename="autoconf.html"?>

  <sect1info condition="script">
    <productname>autoconf</productname>
    <productnumber>&autoconf-version;</productnumber>
    <address>&autoconf-url;</address>
  </sect1info>

  <title>Autoconf-&autoconf-version;</title>

  <indexterm zone="ch-system-autoconf">
    <primary sortas="a-Autoconf">Autoconf</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Программы для воспроизведения сценариев командной оболочки которые могут выполнять автоматическую настройку исходного кода из определенного пользовательского файла-шаблона. Они также необходимы для повторной компиляции пакета после обновления процедур сборки.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&autoconf-ch6-sbu;</seg>
        <seg>&autoconf-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка пакета Autoconf</title>
	  <para>Сначала исправьте ошибку, сгенерированную пакетом Perl 5.28.</para>
	 <screen><userinput remap="pre">sed '361 s/{/\\{/' -i bin/autoscan.in</userinput></screen>

    <para>Подготовьте пакет Autoconf к компиляции:</para>

<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

    <para>Скомпилируйте пакет:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>Для выполнения тестов, выполните команду:</para>

<screen><userinput remap="test">make check</userinput></screen>
<!--
    <para>Выполнение тестов может занять продолжительное время, около &autoconf-ch6-sbu-tests; SBU. Кроме того,
    будет пропущено несколько тестов, использующих Automake. Для полного покрытия тестами пакет можно повторно протестировать после установки пакета Automake. Также, два теста не пройдут из-за изменений в библиотеке libtool-2.4.3 и более поздней.</para>

    <note><para>Время на проведение тестирование можно значительно сократить на системах с несколькими ядрами у центрального процессора.
	 Для того, чтобы это сделать, добавьте команду <command>TESTSUITEFLAGS=-j&lt;N&gt;</command> к строке выше. Если аппаратные средства позволяют, то при использовании аргумента -j4 может сократить время тестирования почти на 60 процентов.</para></note>
	 -->

    <para>Установите пакет:</para>

<screen><userinput remap="install">make install</userinput></screen>

  </sect2>

  <sect2 id="contents-autoconf" role="content">
    <title>Содержимое пакета Autoconf</title>

    <segmentedlist>
      <segtitle>Установленные программы</segtitle>
      <segtitle>Каталог установки</segtitle>

      <seglistitem>
        <seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate,
        and ifnames</seg>
        <seg>/usr/share/autoconf</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="autoconf">
        <term><command>autoconf</command></term>
        <listitem>
          <para>Генерирует сценарии оболочки которые автоматически выполняют конфигурирование исходного кода программного обеспечения для адаптации ко многим разновидностям Unix-подобными системам; сценарии конфигурирования, сгенерированные программой autoconf независимы и не требуют программы <command>autoconf</command></para>
          <indexterm zone="ch-system-autoconf autoconf">
            <primary sortas="b-autoconf">autoconf</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="autoheader">
        <term><command>autoheader</command> </term>
        <listitem>
          <para>Инструмент для создания шаблона для языка Си из выражения <emphasis>#define</emphasis> для конфигурирования</para>
          <indexterm zone="ch-system-autoconf autoheader">
            <primary sortas="b-autoheader">autoheader</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="autom4te">
        <term><command>autom4te</command></term>
        <listitem>
          <para>Обертка для макро процессора M4</para>
          <indexterm zone="ch-system-autoconf autom4te">
            <primary sortas="b-autom4te">autom4te</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="autoreconf">
        <term><command>autoreconf</command></term>
        <listitem>
          <para>Автоматически запускает <command>autoconf</command>,
          <command>autoheader</command>, <command>aclocal</command>,
          <command>automake</command>, <command>gettextize</command>, и
          <command>libtoolize</command> в правильном порядке чтобы сохранить время когда были сделаны изменения у файлов-шаблонов
			 <command>autoconf</command> и
          <command>automake</command>
			 </para>
          <indexterm zone="ch-system-autoconf autoreconf">
            <primary sortas="b-autoreconf">autoreconf</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="autoscan">
        <term><command>autoscan</command></term>
        <listitem>
          <para>Помогает создать файл <filename>configure.in</filename> для пакета;
			 он проверяет исходные файлы в дереве каталогов, выполняет поиск  общих проблем с переносимостью и создаёт файл <filename>configure.scan</filename> который является предварительным файлом <filename>configure.in</filename> пакета
			 </para>
          <indexterm zone="ch-system-autoconf autoscan">
            <primary sortas="b-autoscan">autoscan</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="autoupdate">
        <term><command>autoupdate</command></term>
        <listitem>
          <para>Модифицирует файл <filename>configure.in</filename> который по прежнему вызывает макросы <command>autoconf</command> по их старым именам для использования имен макросов</para>
          <indexterm zone="ch-system-autoconf autoupdate">
            <primary sortas="b-autoupdate">autoupdate</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="ifnames">
        <term><command>ifnames</command></term>
        <listitem>
          <para>Помогает при написании файла <filename>configure.in</filename> для пакета; команда отображает идентификаторы препроцессора Си которые использует пакет [ Если пакет уже настроен для переносимости, эта программа может помочь определить что сценарий  <command>configure</command> требует для проведения проверки. Он также может заполнить пробелы в файле <filename>configure.in</filename>, сформированным  <command>autoscan</command>.]
			 </para>
          <indexterm zone="ch-system-autoconf ifnames">
            <primary sortas="b-ifnames">ifnames</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
